397A - On Segment's Own Points - CodeForces Solution


implementation

Please click on ads to support us..

C++ Code:

#include <bits/stdc++.h>
using namespace std;
using ll=long long;

int main() {
    int n;cin>>n;
    vector<pair<int,int>>v;
    vector<pair<int,int>>a;
    for(int i=0;i<n;i++){
        pair<int,int>p;
        cin>>p.first;
        cin>>p.second;
        v.push_back(p);
    }
    int l=v[0].second-v[0].first;
    if(n==1){
        cout<<l<<endl;
        return 0;
    }
    sort(v.begin()+1,v.end());
    int px=v[1].first;
    int py=v[1].second;
    for(int i=2;i<n;i++){
        int x=v[i].first;
        int y=v[i].second;
        if(x>=py){
            a.push_back(make_pair(px,py));
            px=x;
            py=y;
        }
        else{
            if(y>=py) py=y;
        }
    }
    //cout<<px<<" "<<py<<" "<<endl;
    a.push_back(make_pair(px,py));
    // cout<<a.size();
    for(int i=0;i<a.size();i++){
        int x=a[i].first;
        int y=a[i].second;
        // cout<<x<<" "<<y<<" "<<endl;
        if(x>=v[0].second) continue;
        else if(x<v[0].second && x>=v[0].first){
            if(y<=v[0].second) l=l-(y-x);
            else l=l-(v[0].second-x);
        }
        else if(x<=v[0].first && y>=v[0].second){
            l=0;
            continue;
        }
        else{
            if(y<=v[0].first) continue;
            else l=l-(y-v[0].first);
        }
    }
    cout<<l<<endl;
	return 0;
}


Comments

Submit
0 Comments
More Questions

287A - IQ Test
1108A - Two distinct points
1064A - Make a triangle
1245C - Constanze's Machine
1005A - Tanya and Stairways
1663F - In Every Generation
1108B - Divisors of Two Integers
1175A - From Hero to Zero
1141A - Game 23
1401B - Ternary Sequence
598A - Tricky Sum
519A - A and B and Chess
725B - Food on the Plane
154B - Colliders
127B - Canvas Frames
107B - Basketball Team
245A - System Administrator
698A - Vacations
1216B - Shooting
368B - Sereja and Suffixes
1665C - Tree Infection
1665D - GCD Guess
29A - Spit Problem
1097B - Petr and a Combination Lock
92A - Chips
1665B - Array Cloning Technique
1665A - GCD vs LCM
118D - Caesar's Legions
1598A - Computer Game
1605A - AM Deviation